const App = getApp();

Component({

  options: {
    addGlobalClass: true,
  },

  /**
   * 组件的属性列表
   * 用于组件自定义设置
   */
  properties: {
    itemIndex: String,
    itemStyle: Object,
    params: Object,
    dataList: Object,
  },
  data: {
    slideWidth: '',
    slideLeft: ''
  },
  ready: function() {
    // 在组件实例被从页面节点树移除时执行
    // 计算比例
    this.calcRatio();
  },

  /**
   * 组件的方法列表
   * 更新属性和数据的方法与更新页面数据的方法类似
   */
  methods: {
    /**
   * 计算比例
   */
  calcRatio: function(e) {
    var windowWidth = wx.getSystemInfoSync().windowWidth;
    // 计算列表总长度
    var totalLength = (this.data.dataList.length * 140) + 45;
    // 计算滑块的比例
    var slideRatio = 90 / totalLength * (750 / windowWidth);
    /**
     * 屏幕总长度 / 列表总长度 = 滑块占滚动条长度的比例
     * 滑块占滚动条长度的比例 * 滚动列表的长度 = 滑块的宽度
     */
    var sliderWidth = 750 / totalLength * 90;
    this.setData({
      slideWidth: sliderWidth,
      totalLength: totalLength,
      slideRatio: slideRatio
    })
  },
  /**
   * 监听滚动
   */
  bindScroll: function(e) {
    this.setData({
      slideLeft: e.detail.scrollLeft * this.data.slideRatio
    })
  },
    /**
     * 跳转到指定页面
     */
    navigationTo: function(e) {
      e.currentTarget.dataset.url == '' ? wx.showToast({title: '即将上线',icon: 'none',duration: 1000}) : App.navigationTo(e.currentTarget.dataset.url)
    },

  }
})